﻿using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using BussinessLogicTecnoPez.Produccion.Clasificacion_e_Incubacion;
using Tecnopez.Globals;
using WebUtils.Controls;
public partial class Modules_ClasificacionIncubacion_ConsultarPlanesClasificacion : System.Web.UI.Page
{
    protected void Page_Load(object sender, EventArgs e)
    {
        GenericMasterPage master = (GenericMasterPage)this.Master;
        master.Imagen = "../Styles/Icons/wordprocessing.png";
        master.Titulo = "Consultar planes de clasificación.";
        popEstanque.ObjType = typeof(Estanque);
        popEspecie.ObjType = typeof(Especie);
        if (!IsPostBack)
        {

            inicializarGrilla();
        }
    }

    private void inicializarGrilla()
    {
        DataControlField[] d = new DataControlField[2];
        ButtonField colC = new ButtonField();
        colC.ButtonType = ButtonType.Image;
        colC.ImageUrl = Functions.getHost(this.Page) + "Styles/Icons/eliminar.gif";
        colC.CommandName = "quitar";
        colC.HeaderText = "Quitar";
        d[0] = colC;
        colC = new ButtonField();
        colC.ButtonType = ButtonType.Image;
        colC.ImageUrl = Functions.getHost(this.Page) + "Styles/Icons/lupa.png";
        colC.CommandName = "verjjkj";
        colC.HeaderText = "Ver";

        d[1] = colC;

        grdConsulta.setupGrid(typeof(PlanDeClasificacion), cargarGrilla, false, true, this.ViewState,d);
    }

    private void cargarGrilla()
    {
        DateTime desdePlan;
        DateTime hastaPlan;
        DateTime desdeProx;
        DateTime hastaProx;
        if(DateTime.TryParse(txtDesdePlan.Text,out desdePlan))
        {
            PlanDeClasificacion.getManager.AddFilter("FechaInicio", BussinessLogicTecnoPez.GenericManager<PlanDeClasificacion>.filterOperator.BiggerThan,desdePlan);
        }
        if (DateTime.TryParse(txtHastaPlan.Text, out hastaPlan))
        {
            PlanDeClasificacion.getManager.AddFilter("FechaInicio", BussinessLogicTecnoPez.GenericManager<PlanDeClasificacion>.filterOperator.SmallerThan, hastaPlan);
        }
        if (DateTime.TryParse(txtDesdeProx.Text, out desdeProx))
        {
            PlanDeClasificacion.getManager.AddFilter("FechaProximaClasificacion", BussinessLogicTecnoPez.GenericManager<PlanDeClasificacion>.filterOperator.BiggerThan, desdeProx);
        }
        if (DateTime.TryParse(txtHastaClasifi.Text, out hastaProx))
        {
            PlanDeClasificacion.getManager.AddFilter("FechaProximaClasificacion", BussinessLogicTecnoPez.GenericManager<PlanDeClasificacion>.filterOperator.SmallerThan, hastaProx);
        }
        if (popEspecie.ItemSelected != null)
        {
            
            PlanDeClasificacion.getManager.AddFilter("Especie", BussinessLogicTecnoPez.GenericManager<PlanDeClasificacion>.filterOperator.Equals, ((Especie)popEspecie.ItemSelected).idespecie);
        }
        if (popEstanque.ItemSelected != null)
        {
            PlanDeClasificacion.getManager.AddFilter("Estanque", BussinessLogicTecnoPez.GenericManager<PlanDeClasificacion>.filterOperator.Equals, ((Estanque)popEstanque.ItemSelected).idEstanque);
        }
        
        
        if (grdConsulta.getPageDataViewOrderKeyValue(ViewState) == null)
        {
           PlanDeClasificacion.getManager.AddOrder("IdPlanDeClasificacion", BussinessLogicTecnoPez.GenericManager<PlanDeClasificacion>.Order.orderDirection.ASC);
        }
        else
        {

            PlanDeClasificacion.getManager.AddOrder(grdConsulta.getPageDataViewOrderKeyValue(ViewState),grdConsulta.getPageDataViewOrdenDireccionKeyValue<PlanDeClasificacion>(ViewState));
        }

        grdConsulta.DataSource = PlanDeClasificacion.getManager.GetFilter();
        grdConsulta.DataBind();
    }
    protected void btnConsultar_Click(object sender, EventArgs e)
    {
        inicializarGrilla();
    }
    protected void grdConsulta_RowCommand(object sender, GridViewCommandEventArgs e)
    {
        inicializarGrilla();
        if (e.CommandName == "verjjkj")
        {
            Int32 elemento = Convert.ToInt32(e.CommandArgument);
            if (grdConsulta.Rows[elemento].Cells[0].Text == "&nbsp;")
            {
                return;
            }
            
            visorDeReportes vr = new visorDeReportes();
            vr.archivoReporte = new rptPlanDeClasificacion();
            vr.paradescript = "";
            vr.paravalor = "";
            vr.selectionFormula = "{PLANESCLASIFICACION.IDPLANCLASIFICACION}=" + grdConsulta.Rows[elemento].Cells[0].Text;
            vr.verReporte(Page);
        }
        else if (e.CommandName == "quitar")
        {
            Int32 elemento = Convert.ToInt32(e.CommandArgument);
            if (grdConsulta.Rows[elemento].Cells[0].Text == "&nbsp;")
            {
                return;
            }
            elemento = Convert.ToInt32(grdConsulta.Rows[elemento].Cells[0].Text);
            PlanDeClasificacion p = PlanDeClasificacion.getManager.GetOneByPrimaryKey(elemento);
            PlanDeClasificacion.getManager.Delete(p);
            cargarGrilla();
        }
    }
    protected void grdConsulta_RowDataBound(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.Cells.Count < 7) return;
        if (e.Row.Cells[7].Controls.Count == 0) return;
        ImageButton img = (ImageButton)e.Row.Cells[7].Controls[0];
        img.OnClientClick = "if(!confirm('¿Seguro que desea quitar este elemento?')){ return false;}";
    }
}
